package com.wt.admin.service.chart;

import com.wt.admin.domain.dto.chat.ChatDTO;
import com.wt.admin.domain.dto.chat.ChatModelContentDTO;
import com.wt.admin.domain.dto.chat.ChatModelDTO;
import com.wt.admin.domain.vo.chart.ChatModeListVO;
import com.wt.admin.domain.vo.chart.ChatModelContentVO;
import com.wt.admin.domain.vo.chart.ChatModelFileVO;
import com.wt.admin.domain.vo.chart.ChatModelVO;
import com.wt.admin.domain.vo.sys.UserVO;
import org.springframework.ai.chat.client.ChatClient;

import java.util.List;

public interface ChatProxyService {

    ChatModelService getChatModelService();
    ChatModelFileService getChatModelFileService();
    ChatModelContentService getChatModelContentService();

    ChatClient.ChatClientRequestSpec question(ChatDTO dto, UserVO user);

    List<ChatModelVO> modeDel(ChatModelDTO data);

    ChatModeListVO modeList(ChatModelDTO data);

    ChatModelFileVO modeFileDel(List<String> data);

    void init();

    ChatModelContentVO modeContentDel(ChatModelContentDTO data);

    ChatModelContentVO modeContentEdit(ChatDTO data, UserVO user);

    ChatModelContentVO modeContentInfo(ChatModelContentDTO data, UserVO user);

    void reply(String string, ChatDTO data, UserVO user);
}
